Un JWK es la representación de firma y encriptación en formato JSON. JWKS es simplemente un conjunto de llaves criptográficas y de firma expresadas en JSON.
Es fundamental que el socio que esté construyendo el SSO ponga a disposición un endpoint de JWKs con llaves públicas directamente para nosotros, para que podamos verificar la validez y la integridad de la información que recibirá nuestro servidor.
Un JWK viene en pares vinculados de llave pública y llave privada y suele tener la siguiente estructura:
{
"keys": [
{
"kty": "RSA",
"e": "AQAB",
"use": "sig",
"kid": "m9L0aPfdtgdUCB0y2i2JN-oYcETaI4mQ93j0DwZ-K8Q",
"alg": "RS256",
"n": "psApL_i1m7CuwDiSB73H1fnXHn0mv3nz5dh1Qwl-GvWiHUfJICkAqm0hUQ36I6KH7z5NeTBzytJ8bdFPIWNfJt0cmcHApsPuE55E8vzi8_qkLGHJy52at_3w1dOyt0Ht4Ws0Lpitc6lNkwAKnYNxC8EKSPJMJL2W7H-c6PMi0bnyGEwTacm3sm8OJ00G5rWptWxFv2gPixn0ncyYhgqBSwWHUTbQ2-kAy5U3UTTPHqCyLUNJHjZaSx_ftQHPCCM8HHpFdC404DcVJTscs28vVbTZ8F4suICNUvIZex1WkIRw_p1xFnjRrScpaC-berdnAgmX80-zFP9KWnkidb_3Pw"
}
]
}
Es posible obtener JWKs en el enlace https://mkjwk.org/ con la siguiente configuración.
